

$("#botonFormCrearReserva").click(function() {
    $("#ayudaFechaNacimiento").hide();
    if ($("#buttonDatosPersona").hasClass("active")) {
        if (!validarFormCrearReserva("persona")) {
            return false;
        }
    }
    else if ($("#buttonDatosEmpresa").hasClass("active")) {
        if (!validarFormCrearReserva("empresa")) {
            return false;
        }
    }

    $("#formCrearReserva").submit();

});

$("#esHuesped").change(function() {
    if ($(this).is(':checked')) {
        $("#formEsHuesped").show();
    }
    else {
        $("#formEsHuesped").hide();
    }
});

/* Evento disparador del ajax */
$("#documento").change(function() {
    var identificacion = $("#documento").val();
    var nacionalidad = $("#nacionalidad").val();
    if (identificacion != "" && nacionalidad != "") {
        cargarCliente(identificacion, nacionalidad, "1");
    }
});
$("#nacionalidad").change(function() {
    var identificacion = $("#documento").val();
    var nacionalidad = $("#nacionalidad").val();
    if (identificacion != "" && nacionalidad != "") {
        cargarCliente(identificacion, nacionalidad, "1");
    }
});
$("#identificacionEmpresa").change(function() {
    var identificacionEmpresa = $("#identificacionEmpresa").val();
    var paisEmpresa = $("#paisEmpresa").val();
    if (identificacionEmpresa != "" && paisEmpresa != "") {
        cargarCliente(identificacionEmpresa, paisEmpresa, "2");
    }
});
$("#paisEmpresa").change(function() {
    var identificacionEmpresa = $("#identificacionEmpresa").val();
    var paisEmpresa = $("#paisEmpresa").val();
    if (identificacionEmpresa != "" && paisEmpresa != "") {
        cargarCliente(identificacionEmpresa, paisEmpresa, "2");
    }
});
/*----------------*/

$("#buttonDatosPersona").click(function(e) {
    resetCrearReserva();
    desBoquearInputPersona();
    $("#datosEmpresa").hide();
    $("#datosPersona").show();
    $("#quien").val("persona");
});

$("#buttonDatosEmpresa").click(function(e) {
    resetCrearReserva();
    desBoquearInputEmpresa();
    $("#datosPersona").hide();
    $("#datosEmpresa").show();
    $("#quien").val("empresa");
});


function initCrearReserva(nombreH, idH, desde, hasta, cantidadNoches, capacidadEstandar, capacidadAdicional) {
    resetCrearReserva();
    var select = [];
    for (var i = 1; i <= capacidadEstandar; i++) {
        select.push("<option>" + i + "</option>");
    }
    for (var i = (capacidadEstandar + 1); i <= (capacidadEstandar + capacidadAdicional); i++) {
        select.push("<option class='selectCapacidadAdicional'>" + i + "</option>");
    }
    select = select.join("");
    document.getElementById('selectCantidadPersonas').innerHTML = select;

    $("#idHabitacion").val(idH);
    $("#nombreHabitacion").html(nombreH);
    $("#desde").val(desde);
    $("#hasta").val(hasta);
    $("#cantidadNoches").val(cantidadNoches);


    $("#bloquearIdHabitacion").val(idH);
    $("#bloquearNombreHabitacion").html(nombreH);
    $("#bloquearDesde").val(desde);
    $("#bloquearHasta").val(hasta);
    $("#bloquearCantidaNoches").val(cantidadNoches);


}
function resetCrearReserva() {
    $("#formCrearReserva .error").remove();
    desBoquearInputPersona();
    $("#formQuienPaga").find(':input').each(function() {
        var elemento = this;
        elemento.value = "";
    });
    $("#ayudaFechaNacimiento").hide();
    document.getElementById('resultadoAjax').innerHTML = "";
    $("#formEsHuesped").hide();
    $("#esHuesped").attr('checked', false);
}
function resetEnCaliente() {//persona o empresa
    $("#formQuienPaga").find(':input:not(.preservar)').each(function() {
        var elemento = this;
        elemento.value = "";
    });
    $("#ayudaFechaNacimiento").hide();
    document.getElementById('resultadoAjax').innerHTML = "";
    $("#formEsHuesped").hide();
    $("#esHuesped").attr('checked', false);
}


function validarFormCrearReserva(quien) {
    var flag = true;
    if (quien == "persona") {
        $("#formCrearReserva .error").remove();
        $("#formQuienPaga .requeridoPersona").each(function() {
            var elemento = this;
            if (elemento.value == "") {
                $(this).focus();
                $(this).before("<span class='error'>*</span>")
                flag = false;
                return false;
            }
        });
        if (flag && $("#esHuesped").is(':checked')) {
            $("#formEsHuesped").find('.requeridoHuesped').each(function() {
                var elemento = this;
                if (elemento.value == "") {
                    $(this).focus();
                    $(this).before("<span class='error'>*</span>")
                    flag = false;
                    return false;
                }
            });
        }

        var expresionRegular = /^\d{2}\/\d{2}\/\d{4}$/;
        if (!(document.getElementById("fechaNacimiento").value).match(expresionRegular)) {
            $("#ayudaFechaNacimiento").show();
            flag = false;
        }
        return flag;
    } else {
        $("#formCrearReserva .error").remove();
        $("#formQuienPaga .requeridoEmpresa").each(function() {
            var elemento = this;
            if (elemento.value == "") {
                $(this).focus();
                $(this).before("<span class='error'>*</span>")
                flag = false;
                return false;
            }
        });
        return flag;
    }
}

function cargarCliente(identificacion, nacionalidad, tipo) {
    $.ajax({
        url: "cargarCliente",
        data: {
            identificacion: identificacion,
            nacionalidad: nacionalidad,
            tipo: tipo
        },
        type: 'POST',
        success: function(data) {
            if (tipo == "1") {
                if (data != "[]") {
                    data = JSON.parse(data);
                    document.getElementById('resultadoAjax').innerHTML = "" + data[0]["nombre"] + " ya es cliente";
                    $("#idCliente").val(data[0]["id_cliente"]);
                    $("#tipoDocumento").val(data[0]["id_documento"]);
                    $("#nombre").val(data[0]["nombre"]);
                    $("#apellido").val(data[0]["apellido"]);
                    $("#genero").val(data[0]["genero"]);
                    var fechaNacimiento = (data[0]["fecha_nacimiento"]).split('-')
                    $("#fechaNacimiento").val(fechaNacimiento[2] + "/" + fechaNacimiento[1] + "/" + fechaNacimiento[0]);
                    $("#telefono").val(data[0]["telefono"]);
                    $("#email").val(data[0]["email"]);
                    $("#idEstadoCivil").val(data[0]["id_estado_civil"]);
                    $("#ocupacion").val(data[0]["ocupacion"]);
                    bloquearInputPersona();
                    $("#resultadoAjax").css("color", "#669533");
                    $("#resultadoAjax").show();
                } else {
                    $("#idCliente").val("");
                    resetEnCaliente();
                    desBoquearInputPersona();
                    document.getElementById('resultadoAjax').innerHTML = "Este cliente es nuevo";
                    $("#resultadoAjax").css("color", "#317eac");
                    $("#resultadoAjax").show();
                }
            }
            else if (tipo == "2") {
                if (data != "[]") {
                    data = JSON.parse(data);
                    document.getElementById('resultadoAjax').innerHTML = "" + data[0]["nombre"] + " ya es cliente";
                    $("#idCliente").val(data[0]["id_cliente"]);
                    $("#nombreEmpresa").val(data[0]["nombre"]);
                    $("#telefonoEmpresa").val(data[0]["telefono"]);
                    $("#direccionEmpresa").val(data[0]["direccion"]);
                    $("#emailEmpresa").val(data[0]["email_cliente"]);
                    bloquearInputEmpresa();
                    $("#resultadoAjax").css("color", "#669533");
                    $("#resultadoAjax").show();
                } else {
                    $("#idCliente").val("");
                    resetEnCaliente();
                    desBoquearInputEmpresa();
                    document.getElementById('resultadoAjax').innerHTML = "Este cliente es nuevo";
                    $("#resultadoAjax").css("color", "#317eac");
                    $("#resultadoAjax").show()
                }
            }
        }
    });
}

function bloquearInputPersona() {
    $("#tipoDocumento option:not(:selected)").attr('disabled', 'disabled');
    $("#tipoDocumento").addClass("selectBloqueado");
    $("#idEstadoCivil option:not(:selected)").attr('disabled', 'disabled');
    $("#idEstadoCivil").addClass("selectBloqueado");
    $("#genero option:not(:selected)").attr('disabled', 'disabled');
    $("#genero").addClass("selectBloqueado");
    $("#nombre").addClass("uneditable-input").attr('readonly', true);
    $("#apellido").addClass("uneditable-input").attr('readonly', true);
    $('#fechaNacimiento').datepicker("option", "minDate", 0).datepicker("option", "maxDate", 0).addClass("uneditable-input").attr('readonly', true);
    $("#telefono").addClass("uneditable-input").attr('readonly', true);
    $("#email").addClass("uneditable-input").attr('readonly', true);
    $("#ocupacion").addClass("uneditable-input").attr('readonly', true);
    $("#formQuienPaga .editar").show();
}
function desBoquearInputPersona() {
    $("#tipoDocumento option").removeAttr('disabled');
    $("#tipoDocumento").removeClass("selectBloqueado");
    $("#idEstadoCivil option").removeAttr('disabled');
    $("#idEstadoCivil").removeClass("selectBloqueado");
    $("#genero option").removeAttr('disabled');
    $("#genero").removeClass("selectBloqueado");
    $("#nombre").removeClass("uneditable-input").attr('readonly', false);
    $("#apellido").removeClass("uneditable-input").attr('readonly', false);
    $('#fechaNacimiento').datepicker("option", "minDate", null).datepicker("option", "maxDate", null).removeClass("uneditable-input").attr('readonly', false);
    $("#telefono").removeClass("uneditable-input").attr('readonly', false);
    $("#email").removeClass("uneditable-input").attr('readonly', false);
    $("#ocupacion").removeClass("uneditable-input").attr('readonly', false);
    $("#formQuienPaga .editar").hide();
}
function bloquearInputEmpresa() {
    $("#nombreEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#telefonoEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#direccionEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#emailEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#formQuienPaga .editar").show();
}
function desBoquearInputEmpresa() {
    $("#nombreEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#telefonoEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#direccionEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#emailEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#formQuienPaga .editar").hide();
}
$("#formQuienPaga a.editar").click(function() {
    $("+ span.error", $(this)).remove();
    if ($(this).attr("id") == "editarFechaNacimieno") {
        $('#fechaNacimiento').datepicker("option", "minDate", null).datepicker("option", "maxDate", null).removeClass("uneditable-input").attr('readonly', false);
    }
    else {
        $('#fechaNacimiento').datepicker('enable');
        $("+ input", $(this)).focus().removeClass("uneditable-input").attr('readonly', false);
        $("+ select", $(this)).focus().removeClass("selectBloqueado");
        $("+ select option", $(this)).focus().removeAttr('disabled');
    }
});
